package com.ruoyi.lh.domain;

import java.sql.Timestamp;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备对象 lh_machine
 *
 * @author LH
 * @date 2023-08-01
 */
public class Machine extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 项目id */
    private String projectId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目编号 */
    private String projectNo;

    private String projectType;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String machineNo;

    /** 设备类型 */
    @Excel(name = "设备类型 1软件2设备3其它")
    private String machineType;

    /** 软件/设备SN */
    @Excel(name = "软件/设备SN")
    private String sn;


    /** 硬件版本 */
    @Excel(name = "硬件版本")
    private String hardwareVersion;

    /** 初始软件版本 */
    @Excel(name = "初始软件版本")
    private String initialSoftwareVersion;

    /** 软件/设备状态 */
    @Excel(name = "软件/设备状态 0正常 1停用")
    private String status;

    /** 出厂时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出厂时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date releaseDate;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String machineName;

    /** 设备所在区域 */
    @Excel(name = "设备所在区域(去向 0:国内 1:国外)")
    private String releaseArea;

    /** 是否允许更新 0 否 1 是 */
    @Excel(name = "是否允许更新 0 允许 1 禁止")
    private String isAcceptUpdate;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProjectId(String projectId)
    {
        this.projectId = projectId;
    }

    public String getProjectId()
    {
        return projectId;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setProjectNo(String projectNo)
    {
        this.projectNo = projectNo;
    }

    public String getProjectNo()
    {
        return projectNo;
    }
    public void setMachineNo(String machineNo)
    {
        this.machineNo = machineNo;
    }

    public String getMachineNo()
    {
        return machineNo;
    }
    public void setMachineType(String machineType)
    {
        this.machineType = machineType;
    }

    public String getMachineType()
    {
        return machineType;
    }
    public void setMachineName(String machineName)
    {
        this.machineName = machineName;
    }

    public String getMachineName()
    {
        return machineName;
    }
    public void setIsAcceptUpdate(String isAcceptUpdate)
    {
        this.isAcceptUpdate = isAcceptUpdate;
    }

    public String getIsAcceptUpdate()
    {
        return isAcceptUpdate;
    }

    public void setSn(String sn)
    {
        this.sn = sn;
    }

    public String getSn()
    {
        return sn;
    }
    public void setReleaseDate(Date releaseDate)
    {
        this.releaseDate = releaseDate;
    }

    public Date getReleaseDate()
    {
        return releaseDate;
    }
    public void setReleaseArea(String releaseArea)
    {
        this.releaseArea = releaseArea;
    }

    public String getReleaseArea()
    {
        return releaseArea;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public String getInitialSoftwareVersion() {
        return initialSoftwareVersion;
    }

    public void setInitialSoftwareVersion(String initialSoftwareVersion) {
        this.initialSoftwareVersion = initialSoftwareVersion;
    }

    public String getHardwareVersion() {
        return hardwareVersion;
    }

    public void setHardwareVersion(String hardwareVersion) {
        this.hardwareVersion = hardwareVersion;
    }

    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("projectNo", getProjectNo())
            .append("projectType", getProjectType())
            .append("machineNo", getMachineNo())
            .append("machineType", getMachineType())
            .append("machineName", getMachineName())
            .append("isAcceptUpdate", getIsAcceptUpdate())
            .append("initialSoftwareVersion", getInitialSoftwareVersion())
            .append("hardwareVersion", getHardwareVersion())
            .append("sn", getSn())
            .append("releaseDate", getReleaseDate())
            .append("releaseArea", getReleaseArea())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
